-- *****************************************************************
-- Juniper-SDX-POM-MIB
--
-- Juniper Networks Inc.
-- Juniper Management Center POM MIB
--
Juniper-SDX-POM-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Integer32,
    Counter32,
    Gauge32,
    TimeTicks
        FROM SNMPv2-SMI

    MODULE-COMPLIANCE,
    OBJECT-GROUP
        FROM SNMPv2-CONF

    juniSdxMibs
        FROM Juniper-SDX-MIBS;


juniSdxPomMib MODULE-IDENTITY
    LAST-UPDATED "200308111100Z"  -- 11-Aug-03

    ORGANIZATION "Juniper Networks, Inc."
    CONTACT-INFO
        "        Juniper Technical Assistance Center
                 Juniper Networks, Inc.
                 1194 N. Mathilda Avenue
                 Sunnyvale, CA 94089
                 E-mail: support@juniper.net"

    DESCRIPTION
        "MIB of the SDX POM "

    REVISION "200308111100Z"  -- 11-Aug-03
    DESCRIPTION
    "Minor Syntax updates"

    REVISION "200211011600Z"  -- 01-Nov-02
    DESCRIPTION
    "
    PEN TABLE:
        juniSdxPEnAvgPGModProcTime         ->    Gauge32,
        juniSdxPEnAvgInfClassModProcTime   ->    Gauge32
        juniSdxSORLoadedPGs                ->    Gauge32
 
    SOR TABLE:
        juniSdxSORLoadedPGs                ->    Gauge32
    "

    REVISION "200210251600Z"  -- 25-Oct-02
    DESCRIPTION
    "Revision info updated."


    ::= { juniSdxMibs 6 }

juniSdxMgmtInterface OBJECT IDENTIFIER ::= { juniSdxPomMib 1 }

    juniSdxPEnTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF JuniSdxPEnEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "Table of Policy Engine MI-derived entries."
        ::= { juniSdxMgmtInterface 1 }

    juniSdxPEnEntry OBJECT-TYPE
        SYNTAX      JuniSdxPEnEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "A table entry describing Policy Engine MI. This table
         has one index: juniSdxPEnIndex."
        INDEX   { juniSdxPEnIndex }
        ::= { juniSdxPEnTable 1 }

    JuniSdxPEnEntry ::= SEQUENCE
    {
        juniSdxPEnIndex                             Integer32,
        juniSdxPEnUptime                            TimeTicks,
        juniSdxPEnPGMods                            Counter32,
        juniSdxPEnInterfaceClassMods                Counter32,
        juniSdxPEnAvgPGModProcTime                  Gauge32,
        juniSdxPEnAvgInfClassModProcTime            Gauge32
    }

    juniSdxPEnIndex OBJECT-TYPE
        SYNTAX      Integer32 (0..10000)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "The index of this table. It represents an instance of a Policy Engine"
        ::= { juniSdxPEnEntry 1 }

    juniSdxPEnUptime OBJECT-TYPE
        SYNTAX      TimeTicks
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The time (in hundredths of a second) since the Policy Engine 
         was last re-initialized."
        ::= { juniSdxPEnEntry 2 }

    juniSdxPEnPGMods OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The total Number of PolicyGroup Modifications. The modications
         may result in changes in the default and/or service
         policies on the router."
        ::= { juniSdxPEnEntry 3 }

    juniSdxPEnInterfaceClassMods OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The total Number of Interface Classifier Modifications. The
         modications may result in changes in the Policy Group used for
         the interface. This may result in changes in the default
         policies on the router."
        ::= { juniSdxPEnEntry 4 }

    juniSdxPEnAvgPGModProcTime OBJECT-TYPE
        SYNTAX      Gauge32
        UNITS       "milliseconds"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The Average Time for Processing Policy Group
         Modification (rolling average over last n messages
         where n=10). Metric of Policy Engine performance."
        ::= { juniSdxPEnEntry 5 }

    juniSdxPEnAvgInfClassModProcTime OBJECT-TYPE
        SYNTAX      Gauge32
        UNITS       "milliseconds"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The Average Time for Processing Interface Classifer
         Modification (rolling average over last n messages
         where n=10). Metric of Policy Engine performance."
        ::= { juniSdxPEnEntry 6 }

--
-- PDP MI
--
    juniSdxPDPTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF JuniSdxPDPEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "Table of Policy Decision Point MI-derived entries."
        ::= { juniSdxMgmtInterface 2 }

    juniSdxPDPEntry OBJECT-TYPE
        SYNTAX      JuniSdxPDPEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "A table entry describing Policy Decision Point MI.
         This table has one index: juniSdxPDPIndex."
        INDEX   { juniSdxPDPIndex }
        ::= { juniSdxPDPTable 1 }

    JuniSdxPDPEntry ::= SEQUENCE
    {
        juniSdxPDPIndex                     Integer32,
        juniSdxPDPUptime                    TimeTicks,
        juniSdxPDPDefaultDecisions          Counter32,
        juniSdxPDPServiceDecisions          Counter32,
        juniSdxPDPErrors                    Counter32
    }

    juniSdxPDPIndex OBJECT-TYPE
        SYNTAX      Integer32 (0..10000)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "The index of this table. It represents an instance of a PDP"
        ::= { juniSdxPDPEntry 1 }

    juniSdxPDPUptime OBJECT-TYPE
        SYNTAX     TimeTicks
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The Uptime (number of hundredths of a second since
         Policy Decision Point start)."
        ::= { juniSdxPDPEntry 2 }

    juniSdxPDPDefaultDecisions OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The total Number of Default policy Decisions. The decisions
         are in response to interface up events from the router."
        ::= { juniSdxPDPEntry 3 }

    juniSdxPDPServiceDecisions OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The total Number of Service policy Decisions. The
         decisions are in response to services activation
         events from ssp."
        ::= { juniSdxPDPEntry 4 }

    juniSdxPDPErrors OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The total Number of Errors. An error may occur during the
         policy decision process."
        ::= { juniSdxPDPEntry 5 }


--
-- SOR MI
--

    juniSdxSORTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF JuniSdxSOREntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "Table of Shared Object Repository MI-derived entries."
        ::= { juniSdxMgmtInterface 3 }

    juniSdxSOREntry OBJECT-TYPE
        SYNTAX      JuniSdxSOREntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "A table entry describing Shared Object Repository MI.
        This table has one index: juniSdxSORIndex."
        INDEX   { juniSdxSORIndex }
        ::= { juniSdxSORTable 1 }

    JuniSdxSOREntry ::= SEQUENCE
    {
        juniSdxSORIndex                          Integer32,
        juniSdxSORUptime                         TimeTicks,
        juniSdxSORLoadedPGs                      Gauge32
    }

    juniSdxSORIndex OBJECT-TYPE
        SYNTAX      Integer32 (0..10000)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "The index of this table. It represents an instance of a SOR"
        ::= { juniSdxSOREntry 1 }

    juniSdxSORUptime OBJECT-TYPE
        SYNTAX      TimeTicks
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The Uptime (number of hundredths of a second since
         SOR start)."
        ::= { juniSdxSOREntry 2 }

    juniSdxSORLoadedPGs OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The current total number (not the cumulative total number) of PolicyGroups loaded from
         the backend data store."
        ::= { juniSdxSOREntry 3 }

-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--
-- Conformance information
--
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

juniSdxPomCompliances OBJECT IDENTIFIER ::= { juniSdxPomMib 2 }
juniSdxPomGroups      OBJECT IDENTIFIER ::= { juniSdxPomMib 3 }

-- compliance statements

juniSdxPomCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for entities which implement
                the SDX POM MIB."
        MODULE  -- this module
                MANDATORY-GROUPS { juniSdxPomGroup }
        ::= { juniSdxPomCompliances 1 }

juniSdxPomGroup OBJECT-GROUP
    OBJECTS
    {
        juniSdxPEnUptime,
        juniSdxPEnPGMods,
        juniSdxPEnInterfaceClassMods,
        juniSdxPEnAvgPGModProcTime,
        juniSdxPEnAvgInfClassModProcTime,
        juniSdxPDPUptime,
        juniSdxPDPDefaultDecisions,
        juniSdxPDPServiceDecisions,
        juniSdxPDPErrors,
        juniSdxSORUptime,
        juniSdxSORLoadedPGs
    }
    STATUS  current
    DESCRIPTION
        "A collection of management objects pertaining
        to system management capabilities in SDX. (POM)"
        ::= { juniSdxPomGroups 1 }


END